/*
 * gpio.c
 * Project 4
 * Nicole Ang (nang1@asu.edu)
 * Bijan Fakhri (bfakhri@asu.edu)
 * CSE 325: Embedded Microprocessor Systems
 * Spring 2013
 */

#include "gpio.h"

void gpio_speaker_init(){
	//Port TA pin 3 - set to alternate 2 function
	MCF_GPIO_PTAPAR |= MCF_GPIO_PTAPAR_PTAPAR3(3);
	
	//set to output
	MCF_GPIO_DDRTA |= MCF_GPIO_DDRTA_DDRTA3;
}

void gpio_button_init(){
	//configure port TA pin 0 for primary (GPT) function
	MCF_GPIO_PTAPAR |= MCF_GPIO_PTAPAR_PTAPAR0(1);
	
	//clear DDRT for input
	MCF_GPIO_DDRTA &= ~MCF_GPIO_DDRTA_DDRTA0;
}

void gpio_led_init(){
	//Set PTCPAR pins to 00 for GPIO function
	MCF_GPIO_PTCPAR &= MCF_GPIO_PTCPAR_PTCPAR0(MCF_GPIO_PTCPAR_DTIN0_GPIO)|
			MCF_GPIO_PTCPAR_PTCPAR1(MCF_GPIO_PTCPAR_DTIN1_GPIO) |
			MCF_GPIO_PTCPAR_PTCPAR2(MCF_GPIO_PTCPAR_DTIN2_GPIO) |
			MCF_GPIO_PTCPAR_PTCPAR3(MCF_GPIO_PTCPAR_DTIN3_GPIO);
	
	//Set DDTRC pins to 1 to configure as output
	MCF_GPIO_DDRTC |= MCF_GPIO_DDRTC_DDRTC0 | MCF_GPIO_DDRTC_DDRTC1 |
			MCF_GPIO_DDRTC_DDRTC2 | MCF_GPIO_DDRTC_DDRTC3;
}